const crypto = require('crypto')

// 生成一个初始化向量
const iv = crypto.randomBytes(16)

// 生成一个密钥
const key = crypto.randomBytes(32)

// 创建加密实例，使用 aes-256-cbc 算法
const cipher = crypto.createCipheriv('aes-256-cbc', key, iv)

// 加密数据
// hex 表示输出格式为十六进制
cipher.update('Hello, World!', 'utf8', 'hex')

// 输出加密结果
const cipherText = cipher.final('hex')

console.log("加密结果：" + cipherText);


// 解密
const decipher = crypto.createDecipheriv('aes-256-cbc', key, iv)
decipher.update(cipherText, 'hex')
const decrypted = decipher.final('utf8')

console.log("解密结果：" + decrypted);
